Various types of tool changers have been known. Currently, a tool changer of so-called double arm type is generally employed. A tool changer of this type is configured to include a holding member disposed to have a center axis parallel to an axis of the spindle and provided to be rotatable about the center axis and movable in a direction along the axis of the spindle, a rotation mechanism rotating the holding member in normal and reverse directions about the center axis, a forward/backward movement mechanism moving the holding member forward and backward in the direction along the axis of the spindle, two tool change arms (i.e., a double arm) disposed on the holding member to extend in a radial direction with respect to the center axis of the holding member such that they form a straight line, each having a tool holding part which is opened to one side surface of the tool change arm in the normal/reverse rotation direction of the holding member, and respectively holding the tools with the tool holding units such that axes of the tools are parallel to the center axis of the tool holding member, and a controller controlling the rotation mechanism and the forward/backward movement mechanism.
Further, it is known that the tool changer as described above includes a hydraulic type using hydraulic pressure as drive sources for the rotation mechanism and the forward/backward movement mechanism, a type using a cam mechanism driven by an AC motor (cam driving type), a type using a servo motor for driving (for example, see Patent Literature 1). The tool changer of hydraulic type was developed in the early stages, and the tool changer of cam driving type was developed thereafter for the purpose of shortening changing time. In recent years, the tool changer of servo motor driving type has been employed because advances in technology for the driving mechanism thereof, such as faster servo motor speed, have enabled a quicker tool change than that using the tool changer of cam driving type.
In the tool changer of servo motor driving type, a servo motor constituting the rotation mechanism (hereinafter, referred to as “rotation servo motor”) and a servo motor constituting the forward/backward movement mechanism (hereinafter, referred to as “forward/backward movement servo motor”) are controlled by the controller. An angular position of the tool change arms is detected by an encoder attached to the rotation servo motor (hereinafter, referred to as “rotation encoder”), and similarly a forward/backward movement position of the tool change arms is detected by an encoder attached to the forward/backward movement servo motor (hereinafter, referred to as “forward/backward movement encoder”).
Specifically, the angular position of the tool change arms is calculated based on current number of revolutions and angle of rotation (i.e., rotational position data) of the rotation servo motor, which are detected as absolute values by the rotation encoder, and a reduction ratio of a transmission mechanism, which transmits a force of the rotation servo motor to the holding member to rotate the holding member, relative to the rotation servo motor. Further, the forward/backward movement position of the tool change arm is calculated based on current number of revolutions and angle of rotation (i.e., rotational position data) of the forward/backward movement servo motor, which are detected as absolute values by the forward/backward movement encoder, and a lead of a ball screw mechanism which transmits a force of the forward/backward movement servo motor to the holding member to move the holding member forward and backward. The tool change arms are controlled by the controller; rotation thereof is controlled based on the rotational position data of the rotation servo motor detected as described above and a rotation zero point that is set as appropriate based on the rotational position data of the rotation servo motor, and forward/backward movement thereof is controlled based on the rotational position data of the forward/backward movement servo motor and a forward/backward movement zero point that is set as appropriate based on the rotational position data of the forward/backward movement servo motor.